<template>
  <Modal
          v-model="modals"
          scrollable
          title="备注"
          class="order_box"
          :closable="false"
  >
    <Form
            ref="formValidate"
            :model="formValidate"
            :rules="ruleValidate"
            :label-width="80"
            @submit.native.prevent
    >
      <FormItem label="备注：" prop="remark">
        <Input
                v-model="formValidate.remark"
                maxlength="200"
                show-word-limit
                type="textarea"
                placeholder="订单备注"
                style="width: 100%"
        />
      </FormItem>
    </Form>
    <div slot="footer">
      <Button type="primary" @click="putRemark('formValidate')">提交</Button>
      <Button @click="cancel('formValidate')">取消</Button>
    </div>
  </Modal>
</template>

<script>
  import { putRemarkData, putRefundRemarkData } from "@/api/order";
  export default {
    name: "orderMark",
    props: {
      orderId: Number,
      remarkType: {
        default: "",
        type: String,
      }
    },
    data() {
      return {
        formValidate: {
          remark: '',
        },
        modals: false,
        ruleValidate: {
          remark: [
            { required: true, message: "请输入备注信息", trigger: "blur" }
          ],
        },
      };
    },
    methods: {
      cancel(name) {
        this.modals = false;
        this.$refs[name].resetFields();
      },
      putRemark(name) {
        let data = {
          id: this.orderId,
          remark: this.formValidate,
        };
        this.$refs[name].validate((valid) => {
          if (valid) {
            (this.remarkType ? putRefundRemarkData : putRemarkData)(data)
                    .then(async (res) => {
                      this.$Message.success(res.msg);
                      this.modals = false;
                      this.$refs[name].resetFields();
                      this.$emit("submitFail");
                    })
                    .catch((res) => {
                      this.$Message.error(res.msg);
                    });
          } else {
            this.$Message.warning("请填写备注信息");
          }
        });
      },
    },
  };
</script>

<style scoped>
</style>
